<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        var length = 10;
        function fn() {
            console.log(this.length);
        }
        var obj = {
            length:5,
            method: function(fn) {//函数method的形参fn也是个函数
                fn();//调用的是全局函数，所以fn()里面的this指的window对象  输出10
                arguments[0]();
                //arguents是一个伪数组，代表method函数实际接收的参数列表。
                // 所以arguments[0]代表函数接收的参数列表的第一项。即fn()();
                // 此处调用fn的this指向的是arguments参数列表。因为
            }
        }
        obj.method(fn,1);//10  2    表示调用obj对象的method方法，传入了两个参数fn，和1


    </script>
</body>
</html>